package com.yisu.auction.manager.core.mapper;

import com.yisu.auction.ewf.common.web.EasyUIGrid;
import com.yisu.auction.ewf.entity.Member;
import com.yisu.auction.manager.domain.request.memberPackage.MemberRequest;
import com.yisu.auction.manager.domain.vo.baseInfoPackageVos.MemberVo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

public interface MemberMapper {
    int deleteByPrimaryKey(Long id);

    int insert(Member record);

    int insertSelective(Member record);

    Member selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Member record);

    int updateByPrimaryKey(Member record);

    /**
     * author:赵杰
     * Business Description : 分页获取会员信息
     * @param memberRequest 分页请求信息
     * @return 商品分类列表
     */
    List<MemberVo> getMemberInfoByPage(MemberRequest memberRequest);

    /**
     * author:赵杰
     * Business Description : 获取所有用户信息
     * @param memberRequest
     * @return
     */
    List<MemberVo> getAllMemberInfos(MemberRequest memberRequest);

    /**
     * author:赵杰
     * Business Description : 随机获取一个虚拟用户
     * @return
     */
    Member getVirtualMemberByRandom();

    /**
     * author:赵杰
     * Business Description : BI报表——通过日期获取注册用户数
     * @param date
     * @return
     */
    int getMemberCountByDate(@Param("date") String date);

    /**
     * author:赵杰
     * Business Description : BI报表——获取所有用户注册总数
     * @param
     * @return
     */
    int getMemberCount();

    /**
     * author:赵杰
     * Business Description : BI报表——获取累计消费金额
     * @param
     * @return
     */
    BigDecimal  getAccumulativeBuyMoney();
}